package br.com.hmm.businesslogic;

import java.util.ArrayList;
import java.util.List;

import br.com.hmm.dao.UsuarioDAO;
import br.com.hmm.entidade.Usuario;

/**
 * 
 * @author carlos
 *
 */
public class UsuarioService {
	
	/**
	 * 
	 */
	private UsuarioService(){
		
	}
	
	/**
	 * 
	 * @param usuario
	 * @return
	 */
	public static boolean inserir(Usuario usuario){
		try{
			if(existeUsuario(usuario) == true){
				return false;
			}
			UsuarioDAO uDao = new UsuarioDAO();
			if(uDao.inserir(usuario) == true){
				return true;
			}
		}catch(Exception e){
			return false;
		}
		return false;
	}
	
	/**
	 * 
	 * @param usuario
	 * @return
	 */
	public static boolean existeUsuario(Usuario usuario){
		try{
			UsuarioDAO uDao = new UsuarioDAO();
			if(uDao.existeUsuario(usuario) == true){
				return true;
			}
		}catch(Exception e){
			return false;
		}
		return false;
	}
	
	/**
	 * 
	 * @param usuario
	 * @return
	 */
	public static boolean atualizar(Usuario usuario){
		try{
			UsuarioDAO uDao = new UsuarioDAO();
			if(uDao.atualizar(usuario) == true){
				return true;
			}
		}catch(Exception e){
			return false;
		}
		
		return false;
	}
	
	/**
	 * 
	 * @param usuario
	 * @return
	 */
	public static boolean delete(Usuario usuario){
		try{
			UsuarioDAO uDao = new UsuarioDAO();
			if(uDao.delete(usuario) == true){
				return true;
			}			
		}catch(Exception e){
			return false;
		}
		
		return false;
	}
	
	/**
	 * 
	 * @param usuario
	 * @return
	 */
	public static boolean logar(Usuario usuario){
		try{
			UsuarioDAO uDao = new UsuarioDAO();
			if(uDao.autenticarUsuario(usuario) == true){
				return true;
			}
			
		}catch(Exception e){
			return false;
		}
		return false;
	}
	
	/**
	 * 
	 * @return
	 */
	public static List<Usuario> list(){
		try{
			UsuarioDAO uDao = new UsuarioDAO();
			List<Usuario> listaUsuarios = new ArrayList<Usuario>();
			listaUsuarios = uDao.list(); 
			if(listaUsuarios != null){
				return listaUsuarios;
			}
		}catch(Exception e){
			return null;
		}
		
		return null;
	}

}
